package com.yike.user.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 店铺表
 *
 * @author Sakura
 * @since 2024-08-26
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "获取小程序码参数")
public class GetAppCodeParam implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("类型：1小程序码 2不受限制小程序码 3小程序二维码")
    @NotNull(message = "小程序码类型不能为空")
    private Integer type;

    @ApiModelProperty("type为1.3时必传 扫码进入的小程序页面路径")
    private String path;

    @ApiModelProperty("type为1.2时可传 要打开的小程序版本。正式版为 \"release\"，体验版为 \"trial\"，开发版为 \"develop\"。默认是正式版。")
    private String envVersion;

    @ApiModelProperty("二维码宽度 默认430，二维码的宽度，单位 px，最小 280px，最大 1280px")
    private Integer width;

    @ApiModelProperty("type为2时必传 自定义参数最大32个可见字符 如 a=1")
    private String scene;

    @ApiModelProperty("type为2时可传 默认是true，检查page 是否存在，为 true 时 page 必须是已经发布的小程序存在的页面（否则报错）；为 false 时允许小程序未发布或者 page 不存在， 但page 有数量上限（60000个）请勿滥用。")
    private Boolean checkPath;

    @ApiModelProperty("type为2时可传 默认是主页，页面 page，例如 pages/index/index，根路径前不要填加 /，不能携带参数（参数请放在scene字段里），如果不填写这个字段，默认跳主页面。scancode_time为系统保留参数，不允许配置")
    private String page;

    @ApiModelProperty("type为1.2时可传 默认值false；是否需要透明底色，为 true 时，生成透明底色的小程序码")
    private Boolean isHyaline;

}
